<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			//数学对象 Math //属于全局作用域 window
			console.log(window.Math.min(2,3));
			//修改数学对象Math
			Math.min = function (){
				return '哪里有什么最小值';
			}
			console.log(Math.min(4,5));

			//字符串对象 String
			var s = 'abc'[2]; // var s = new String('abc');
			var s1 = 'abc'.substr(1);
			console.log('---'+s1);

			var ss = new String('abc');
			console.dir(ss);

			var str = 'abd88add'; 
			// 这个字符串本身，不是一个对象，是一个字符串直接量，它是一个具体的值
			str.substr(3,2); //当我们对字符串进行方法引用，或者是取下标的时候，浏览器会自动执行 new String(str) 操作。
			//那么此时，str 字符串本身，就成为了一个字符串对象。那么，str 这个字符串，就可以使用，字符串对象所有的方法。
			//同理，数组 Array 数组对象，String 字符串对象，Number 对象，Object 对象的对象，Function 函数对象。

			var num = new Number(321);
			console.dir(num);
			var num1 = (123).toFixed(2); 
			// 数字本身是没有方法的，是一个具体的值。当我们执行 . 操作符之后，就会执行 var num1 = new Number(123)
			//将其变成一个数字对象，那么此时的数字对象，就拥有了数字对象的方法。
			//数字直接使用方法的 时候，要将数字，用小括号包裹，因为，小数点（.)和对象操作符符(.)会有歧义。
			//不包裹起来，会将 . 号当初小数点，把后面的字符，当初小数位。
			console.log(num1);

			//String Number  本身，就相当于一个函数，当我们new String ,new Number 的时候，可以返回我们传入参数的对应对象。

			console.log('---------------');
			var date = new Date();
			console.dir(date);
			console.log(date.getDay());
		</script>

	</body>
</html>